package com.cmwa.solution.sys.msg.aop;

import javax.annotation.Resource;

import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Component;

import com.cmwa.solution.sys.attach.service.AttachService;
import com.cmwa.solution.sys.msg.vo.ManualOperationParamsVo;

/**
 *@author 	ex-zhangyd 
 *@date 	创建时间：2016年10月26日 上午9:20:08  
 *@des		发送邮件切面
 */
@Component("emailMessageTemplateAspect") 
public class EmailMessageTemplateAspect {

	public static int MAX_FILE_SIZE = 20 * 1024 * 1024; // 附件最大为20M

	@Resource
	AttachService attachService;

	/**
	 * 邮件发送时，检查附件大小，若大于20M，则不加附件
	 * @param params
	 */
	public void doBefore(ManualOperationParamsVo params) {
		if (params != null) {
			String attIds = params.getAttIds();
			if (StringUtils.isNotBlank(attIds)) {
				int size = 0;
				String[] attArry = attIds.split(",");
				for (String attId : attArry) {
					size += attachService.getAttSize(attId);
				}
				if (size > MAX_FILE_SIZE) { // 若附件大于20M，则不发送附件
					params.setAttIds("");
				}
			}
		}
	}
	
}
